package com.cfpamf.ms.insur.pay.facade.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 查询订单结果VO
 *
 * @author zhangnayi
 */
@Data
@ApiModel
public class QueryOrderVO {

    /**
     * 商户系统订单号
     */
    @ApiModelProperty("商户系统订单号")
    private String sourceOrderId;

    /**
     * 商户系统编号
     */
    @ApiModelProperty("商户系统编号")
    private String sourceSys;

    /**
     * 支付系统订单编号
     */
    @ApiModelProperty("支付系统订单编号")
    private String orderNo;

    /**
     * 商品Id
     */
    @ApiModelProperty("商品Id")
    private String productId;

    /**
     * 商品名称
     */
    @ApiModelProperty("商品名称")
    private String productName;

    /**
     * 商品类型
     */
    @ApiModelProperty("商品类型")
    private String productType;

    /**
     * 支付类型
     */
    @ApiModelProperty("支付类型")
    private String payType;

    /**
     * 支付方式
     */
    @ApiModelProperty("支付方式")
    private String payMethod;

    /**
     * 支付流水号
     */
    @ApiModelProperty("支付流水号")
    private String payTrxNo;

    /**
     * 第三方支付流水号
     */
    @ApiModelProperty("第三方支付流水号")
    private String bankPayTrxNo;

    /**
     * 订单金额（元）
     */
    @ApiModelProperty("订单金额（元）")
    private BigDecimal orderAmount;

    /**
     * 下单时间
     */
    @ApiModelProperty("下单时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date orderTime;

    /**
     * 支付时间
     */
    @ApiModelProperty("付款时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date payTime;

    /**
     * 退款金额（元）
     */
    @ApiModelProperty("退款金额（元）")
    private BigDecimal refundAmount;

    /**
     * 支付状态
     */
    @ApiModelProperty("支付状态")
    private Integer payStatus;
}
